#include "../_public.h"

int main(int argc, char *argv[])
{
	if (argc != 3)
	{
		printf("Using:./demo07 ip port\nExample:./demo07 127.0.0.1 5005\n\n");
		return -1;
	}

	CTcpClient TcpClient;

	// 向服务端发起连接请求
	if( TcpClient.ConnectToServer( argv[1], atoi(argv[2]) ) == false){
		printf("TcpClient.ConnectToServer(%s, %s) failed.\n", argv[1], argv[2]);
		return -1;
	}

	char buffer[102400];

	// 与服务端通讯，发送一个报文后等待回复，然后再发下一个报文。
	for (int i = 0; i < 1000; ++i)
	{
		SPRINTF(buffer, sizeof(buffer),"这是第%d个女生，编号%03d", i+1, i+1);
		if ( TcpClient.Write(buffer) == false ) // 向服务端发送请求报文。
		{
			perror("send");
			break;
		}
		printf("发送：%s\n", buffer);

		// signal(SIGPIPE, SIG_IGN);
		// sleep(2);
		// iret = send(sockfd, buffer, strlen(buffer), 0);
		// printf("iret1=%d\n", iret);
		// iret = send(sockfd, buffer, strlen(buffer), 0);
		// printf("iret2=%d\n", iret);
		// iret = send(sockfd, buffer, strlen(buffer), 0);
		// printf("iret3=%d\n", iret);

		memset(buffer, 0, sizeof(buffer));
		if ( TcpClient.Read(buffer) == false ) // 接收服务端的回应报文。
		{
			break;
		}
		printf("接收：%s\n", buffer);

		sleep(1); // 每隔一秒后再次发送报文
	}

	// 第4步：关闭socket，释放资源。
	// close(sockfd);
}
